package wechat

// WeChatOAuth2Token 微信网页授权返回的token
type WeChatOAuth2Token struct {
	AccessToken  string `json:"access_token,omitempty"`  // 获取到的凭证
	ExpiresIn    int    `json:"expires_in,omitempty"`    // 凭证有效时间，单位：秒
	RefreshToken string `json:"refresh_token,omitempty"` // 用户刷新access_token
	OpenId       string `json:"openid,omitempty"`        // 用户唯一标识
	Scope        string `json:"scope,omitempty"`         // 用户授权的作用域，使用逗号（,）分隔
	UnionId      string `json:"unionid,omitempty"`       // 只有在用户将公众号绑定到微信开放平台帐号后，才会出现该字段
	ErrCode      int    `json:"errcode,omitempty"`       // 错误码
	ErrMsg       string `json:"errmsg,omitempty"`        // 错误信息
}

// WeChatCheckAccessTokenResp 检查access_token是否过期
type WeChatCheckAccessTokenResp struct {
	ErrCode int    `json:"errcode,omitempty"` // 错误码
	ErrMsg  string `json:"errmsg,omitempty"`  // 错误信息
}

// WeChatOAuth2UserInfo 微信用户信息
type WeChatOAuth2UserInfo struct {
	OpenId    string   `json:"openid,omitempty"`     // 普通用户的标识，对当前开发者账号唯一
	NickName  string   `json:"nickname,omitempty"`   // 普通用户昵称
	Sex       int      `json:"sex,omitempty"`        // 普通用户性别，1为男性，2为女性
	City      string   `json:"city,omitempty"`       // 普通用户所在城市
	Province  string   `json:"province,omitempty"`   // 普通用户所在省份
	Country   string   `json:"country,omitempty"`    // 普通用户所在国家
	HeadImg   string   `json:"headimgurl,omitempty"` // 用户头像，最后一个数值代表正方形头像大小（有0、46、64、96、132数值可选，0代表640*640正方形头像），用户没有头像时该项为空。若用户更换头像，原有头像URL将失效。
	UnionId   string   `json:"unionid,omitempty"`    // 只有在用户将公众号绑定到微信开放平台帐号后，才会出现该字段
	Privilege []string `json:"privilege,omitempty"`  // 用户特权信息，json 数组，如微信沃卡用户为（chinaunicom）
	ErrCode   int      `json:"errcode,omitempty"`    // 错误码
	ErrMsg    string   `json:"errmsg,omitempty"`     // 错误信息
}
